//variables globales
var id_sumi;
var detalle = new Array();
var tareasRequerimientos = new Array();
// fin variables globales

$(document).ready(function() {
	$("#pedidoForm").validate();
	 $('#anio').focus();
	// tooltips
	creaToolTips();
	// fin tooltips
	
	// botones
	Utiles_Botones.creaBotonAceptar("btn_pedido",enviaRequerimientos);
	Utiles_Botones.creaBotonLimpiar("btn_pedido_limpiar",limpiaFormulario);
	Utiles_Botones.creaBotonPersonalizado("btn_agrega_requerimiento", "Agregar Suministro", Utiles_Botones.ICON_AGREGAR, false, showDetalleRequerimiento);
	// fin botones

	// autocompletes
	$("#desc_unidad_org").creaAutocompletable('get_unidades',{id:"codigo",desc:"descripcion"},recibeUnidades,true,1 );
	$("#desc_centro_costos").creaAutocompletable('get_centros_costos',{id:"codigo",desc:"descripcion"},recibeCentroCosto,true,1,{cod_uni : function() {return $("#cod_unidad_org").val();}} );
	// fin autocompletes


	// ajuste de componentes
	$(".cmb1").width($(".td_izq").width());
	$(".descripciones").width(360);
	// fin ajuste de componentes

	$("#anio").change(limpiar);
	
	// eventos click
	//$('#add_tool').click(showDetalleRequerimiento);
	// eventos click

	// eventos key
	$('#desc_unidad_org').keyClearValComponente("cod_unidad_org,cod_centro_costo,desc_centro_costos");
	$('#desc_centro_costos').keyClearValComponente("cod_centro_costo");
	//$('#cod_unidad_org').keyup(buscaUnidadOrganica);
	// fin eventos key
	//$('select').selectmenu({style:'dropdown'});
});

/*----------funciones------------*/
function creaToolTips() {
	$('#add_tool').bt();
	$('#anio').bt({trigger: ['focus', 'blur'], positions: 'top'});

	$('#cod_unidad_org').bt({
		trigger : [ 'focus', 'blur' ],
		positions : [ 'right' ]
	});
}

function limpiaCodUnidad(e) {
	if (e.keyCode != 13) {
		$('#cod_unidad_org').val("");
	}
}

function limpiaCodCentroCosto(e) {
	if (e.keyCode != 13) {
		$('#cod_centro_costo').val("");
	}
}

function buscaUnidadOrganica(e) {
	// alert(e.keyCode);
	$('#desc_unidad_org').val("");
	if (e.keyCode == 13) {
		this.blur();
		if ($(this).val().length > 0) {
			$.getJSON("getUnidad_org",
							{
								cod_uni : $(this).val()
							},
							function(data) {
								if (data.descripcion != null) {
									$('#desc_unidad_org').focus();
									$('#desc_unidad_org').attr("value",
											data.descripcion);
								}
								else {
									alert("La unidad Organizativa no existe o no tiene permiso a ella");
									$('#cod_unidad_org').val("");
								}

							});
		}

	}
}

function elimina(cod_sumi){
	Utiles_MensajesDialogo.showMensajeConfirmacion("Esta seguro de eliminar el detalle?, suministro= "+$.trim(cod_sumi),function(result){
		if(result=="Si"){
			var is_tarea_requerimiento=false;
			
			$.each(tareasRequerimientos, function(i,item) {
				
				if($.trim(this.id_suministro)==$.trim(cod_sumi)){
					tareasRequerimientos.splice(i,1);
					is_tarea_requerimiento=true;
					return;
				}
			});
			
			
			if(!is_tarea_requerimiento){
				
				$.each(detalle, function(i,item) {

					if($.trim(this.id_suministro)==$.trim(cod_sumi)){
						this.operacion=3;
						tareasRequerimientos[tareasRequerimientos.length]=this;
						return;
					}
				});
			}
			$.each(detalle, function(i,item) {
				if($.trim(this.id_suministro)==$.trim(cod_sumi)){
					detalle.splice(i,1);
				}
			});
			
			llenaTablaRequerimientos();
		}
		else{
			
		}
	});
}

function agregaRequerimiento(){
 	if($("#frmSumi").valid()){
 		var is_existe_sumi=false;
 		$.each(detalle, function(){
	        if(this.id_suministro==$("#valor_id").val()){
	        	is_existe_sumi=true;
	        }
	      });
 		if(is_existe_sumi){
 			Utiles_MensajesDialogo.showMensajeAlerta("El suministro ya fue ingresado");
 			return false;
 		}
 		else{
			detalle[detalle.length]={id_suministro:suministro.codigo,descripcion_suministro:suministro.descripcion,unidad_medida:suministro.unidad_medida,cod_centro_costos:$("#cod_centro_costo").val(),ano:$("#anio").val(),cod_unid_organica:$("#cod_unidad_org").val(),operacion:1,empresa:$("#cmb_empresa").val(),cantidad_total:0};
			tareasRequerimientos[tareasRequerimientos.length]={id_suministro:suministro.codigo,descripcion_suministro:suministro.descripcion,unidad_medida:suministro.unidad_medida,cod_centro_costos:$("#cod_centro_costo").val(),ano:$("#anio").val(),cod_unid_organica:$("#cod_unidad_org").val(),operacion:1,empresa:$("#cmb_empresa").val(),cantidad_total:0};
 		 	
			cadena = "<tr class='data'>";
 	        cadena = cadena + "<td>" + $("#valor_id").val() + "</td>";
 	        cadena = cadena + "<td>" + $("#valor_desc").val() + "</td>";
 	        cadena = cadena + "<td>" + suministro.unidad_medida + "</td>";
 	        cadena = cadena + "<td>0</td>";
 	        //cadena = cadena + "<td align='center'><a class='edita'><img src='<c:url value='/images/page_edit.png' />' style='cursor: pointer' /></a>&nbsp;<a class='elimina'><img src='<c:url value='/images/delete.png' />' style='cursor: pointer' /></a></td></tr>";
 	        cadena = cadena + "<td align='center'>&nbsp;<a class='elimina' onclick='elimina("+suministro.codigo+")'><img src='"+$("#contexto_spring").attr("title")+"images/delete.png' style='cursor: pointer' /></a></td></tr>";
 	        $("#tb_sumi").append(cadena);
 	        id_sumi="";
 	        $("#frmSumi").reset();
 		}	
 	}
}

function agregaDetalleRequerimiento(){
	if(detalle_requerimientos.length==0){
		Utiles_MensajesDialogo.showMensajeAlerta("No existen detalles a guardar");
		return;
	}
	Utiles_MensajesDialogo.showMensajeConfirmacion("Desea guardar los detalles de requerimientos??",function(result){
		if(result=="Si"){
			var obj = new Object();
			obj.detalle = detalle_requerimientos;
			//$(document).ajaxStart(function(){ 
			Utiles_MensajesDialogo.showMensajeModal("Espere un momento!!");
			//});
			$.postJSON("procesa_detalle_requerimientos", obj, function(rpta) {
				
				if(rpta.respuesta){
					Utiles_MensajesDialogo.showMensajeExito();
					//limpiaFormulario();
					obtenerNecesidades();
					tareasRequerimientos=new Array();
				}
				else
					Utiles_MensajesDialogo.showMensajeFracaso();
				
				Utiles_MensajesDialogo.closeMensajeModal();
			});
		}
		else{
			
		}
	});
}

function showDetalleRequerimiento() {
	Utiles_MensajesDialogo.showRequestDialog2('Detalle de Requerimiento', "vista?plantilla=suministros/requerimientos/jdAgregaSuministroRequerimiento",agregaRequerimiento,750);
}

function llenaTablaRequerimientos(){
	$("#tb_sumi>tbody>tr.data").remove();
	$.each(detalle, function() {
		cadena = "<tr class='data'>";
        cadena = cadena + "<td>" +this.id_suministro + "</td>";
        cadena = cadena + "<td>" +this.descripcion_suministro + "</td>";
        cadena = cadena + "<td>" +this.unidad_medida + "</td>";
        cadena = cadena + "<td>" +this.cantidad_total+"</td>";
        //cadena = cadena + "<td align='center'><a class='edita'><img src='<c:url value='/images/page_edit.png' />' style='cursor: pointer' /></a>&nbsp;<a class='elimina'><img src='<c:url value='/images/delete.png' />' style='cursor: pointer' /></a></td></tr>";
        cadena = cadena + "<td align='center'><a onclick='detallesRequerimiento("+this.idNecesidad+",\""+this.id_suministro+"\")'><img src='"+$("#contexto_spring").attr("title")+"images/page_edit.png' style='cursor: pointer' /></a>&nbsp;<a onclick='elimina(\""+this.id_suministro+"\")'><img src='"+$("#contexto_spring").attr("title")+"images/delete.png' style='cursor: pointer' /></a></td></tr>";
        $("#tb_sumi").append(cadena);
	});
	$("#tb_sumi>tbody>tr.data").mouseout(resalta2);
	$("#tb_sumi>tbody>tr.data").mouseover(resalta1);
}

function detallesRequerimiento(id_necesidad,id_suministro){
	Utiles_MensajesDialogo.showRequestDialog2('Detalle de Requerimiento',"jdDetallesRequerimiento",agregaDetalleRequerimiento,790,{id_necesidad:id_necesidad,id_suministro:id_suministro});
}

function enviaRequerimientos() {
	if ($("#pedidoForm").valid()) {
		
		if(tareasRequerimientos.length == 0){
			Utiles_MensajesDialogo.showMensajeAlerta("No existen tareas pendientes");
			return false;
		}
		else{
			Utiles_MensajesDialogo.showMensajeConfirmacion("Existen "+tareasRequerimientos.length+ " tareas pendientes, Desea guardar??",function(result){
				if(result=="Si"){
					
					var obj = new Object();
					obj.detalle = tareasRequerimientos;
					Utiles_MensajesDialogo.showMensajeModal("Espere un momento!!");
					$.postJSON("procesa_requerimientos", obj, function(rpta) {
						if(rpta.respuesta){
							Utiles_MensajesDialogo.showMensajeExito();
							obtenerNecesidades();
							tareasRequerimientos=new Array();
						}
						else
							Utiles_MensajesDialogo.showMensajeFracaso();
						Utiles_MensajesDialogo.closeMensajeModal();
					});
				}
				else{
					
				}
			});
			return false;
		}
	}
}

function obtenerNecesidades(){
	$.get("get_necesidades_operativas", {
		centro_costo : $("#cod_centro_costo").val(),
		anio:$("#anio").val(),
		empresa:$("#cmb_empresa").val()
	}, function(datos) {
		detalle=datos;
		llenaTablaRequerimientos();
	});
}
function limpiaFormulario(){
	$("#pedidoForm").reset();
	detalle=new Array();
	$("#tb_sumi>tbody>tr.data").remove();
	tareasRequerimientos=new Array();
}

function limpiar(){
	detalle=new Array();
	$("#tb_sumi>tbody>tr.data").remove();
	tareasRequerimientos=new Array();
	$("#cod_centro_costo").val("");
	$("#desc_centro_costos").val("");
}

function recibeUnidades(e, item){
	$("#cod_unidad_org").val($.trim(item.codigo));
	$("#desc_unidad_org").val($.trim(item.descripcion));
	limpiar();
}

function recibeCentroCosto(e, item){
	$("#cod_centro_costo").val($.trim(item.codigo));
	$("#desc_centro_costos").val($.trim(item.descripcion));
	obtenerNecesidades();
}
/*----------fin funciones------------*/

